const status = false
const api = 'http://47.106.235.203/school/public/index.php/api/'

/*
 * toast 弹窗
 * title：弹窗标题 默认 提示
 * icon：图标 默认 无
 * duration 显示多久时间 默认1500毫秒
*/
function toast (title, icon = "none", duration = 1500) {
  wx.showToast({
    title: title,
    icon: icon,
    duration: duration,
  })
}

/**
 * showModal 弹窗
 * content：需要弹出的内容
 * title：弹窗标题 默认 提示
 * isqx：是否显示取消按钮  默认是
 * callback : 成功 回调函数
 */
function alert(content, title = "提示", callback,isqx = false) {
  wx.showModal({
    title: title,
    content: content,
    showCancel: isqx,
    success: callback
  })
}

/**
 * 表单验证 是否为空
 * name：需要验证的字段
 * content：提示的字符串
 */
function empty (name, content){
  return this.istrue(name, content)
}

/**
 * 验证手机格式
 * value : 需要验证的手机号
 * content: 提示字符串 默认 手机号码格式不正确
*/
function tel (value, content="手机号格式不正确") {
  let tel =  /^1[34578]\d{9}$/.test(value)
   return this.istrue(tel, content)
}

/**
 * 验证身份证格式
 * value:需要验证的身份证号
 * title: 提示的字符串
 */
function card (value, content="身份证格式不正确"){
  let card= /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(value)
  return this.istrue(card, content)
}

/**
 * 验证输入长度范围
 * value ： 需要验证的字段
 * endstring：结尾需要显示的字符串 默认 密码
 * start：长度 起始值 默认 6
 * end：长度 结束值 默认 18
 */
function least (value,endstring="密码",start = 6,end = 18){
  if (value.toString().length < start || value.toString().length > end){
    this.toast("请输入" + start + "至" + end + "位" + endstring)
    return false
  }else{
    return true
  }
}

/**
 * 验证两个输入框内容是否一致
 * value：第一个输入框的值
 * param：第二个输入框的值
 * content：提示字符串
 */
function equal(value, param,content="两次密码不一致"){
  let cs = value === param
  return this.istrue(cs, content)
}

/**
 * 验证是否为真
 * value ： 需要验证的方法字段
 * content：需要提示的字符串
 */
function istrue (value, content){
  if (!value) {
    this.toast(content)
    return false
  }else{
    return true
  }
}


/**
 * 网络请求
 * url：地址 存放本页面数据地址即可   http地址已使用变量承载   
 * data：需要传送的数据  默认{ id: 1 }
 * callback：请求成功 回调函数
 * method：请求方法 默认 post
 */
function ajax(url, data = { id: 1 }, callback,method="POST"){
  wx.showLoading({
    title: '加载中',
  })

  wx.request({
    url: api + url,
    data: data,
    header: {
      'Accept': 'application/json',
      'content-type': 'application/json',
    },
    method: method,
    dataType: 'json',
    responseType: 'text',
    success: function(res){
      wx.hideLoading()
      return callback(res)
    },
    fail: res => { 
      wx.hideLoading()
      this.alert("网络出错，请刷新重试","网络错误")
    },
  })

}


// 暴露接口
module.exports = {
  toast: toast,
  alert: alert,
  empty: empty,
  tel: tel,
  istrue:istrue,
  card: card,
  least: least,
  equal: equal,
  ajax: ajax
}